﻿namespace KingerRobot.MexicoSailunWMS.Spi;
public interface IReportService
{
    /// <summary>
    /// 入库统计
    /// </summary>
    /// <param name="parm">开始时间；结束时间</param>
    /// <returns></returns>
    List<WareHouseCountBean> GetInWarehouseCount(WareHouseParm parm);
    /// <summary>
    /// 入库统计
    /// </summary>
    /// <param name="parm">开始时间；结束时间</param>
    /// <returns></returns>
    List<WareHouseCountBean> GetOutWarehouseCount(WareHouseParm parm);
    /// <summary>
    /// 入库明细报表
    /// </summary>
    /// <param name="parm"></param>
    /// <returns></returns>
    List<WareHouseDetailBean> GetInWarehouseDetail(WareHouseParm parm);
    /// <summary>
    /// 出库明细报表
    /// </summary>
    /// <param name="parm"></param>
    /// <returns></returns>
    List<WareHouseDetailBean> GetOutWarehouseDetail(WareHouseParm parm);
    /// <summary>
    /// 入库量汇总
    /// </summary>
    /// <param name="parm"></param>
    /// <returns></returns>
    List<OutWorkCount> GetInWarehouseSummary(WareHouseTaskParm parm);
    /// <summary>
    /// 出库量汇总
    /// </summary>
    /// <param name="parm"></param>
    /// <returns></returns>
    List<WareHouseTaskBean> GetOutWarehouseSummary(WareHouseTaskParm parm);

    /// <summary>
    /// 堆垛机出库汇总
    /// </summary>
    /// <param name="param"></param>
    /// <returns></returns>
    List<WareHouseTaskBean> GetCrnOutWareHouse(CrnOutWareHouseParam param);
    /// <summary>
    /// 堆垛机出入库汇总
    /// </summary>
    /// <param name="param"></param>
    /// <returns></returns>
    List<InOutCountBean> GetInOutCount(InOutCountParam param);

}
public class InOutCountBean
{

    /// <summary>
    /// 立库
    /// </summary>
    public string HouseName { get; set; }

    /// <summary>
    /// 堆垛机
    /// </summary>
    public string CrnName { get; set; }

    /// <summary>
    /// 入库数量
    /// </summary>
    public int? InCount { get; set; }

    /// <summary>
    /// 出库数量
    /// </summary>
    public int? OutCount { get; set; }
}
public class InOutCountParam
{
    /// <summary>
    /// 开始时间
    /// </summary>
    public DateTime? StartTime { get; set; }

    /// <summary>
    /// 结束时间
    /// </summary>
    public DateTime? EndTime { get; set; }
}
public class CrnOutWareHouseParam
{
    /// <summary>
    /// 规格
    /// </summary>
    public string Spec { get; set; }

    /// <summary>
    /// 堆垛机
    /// </summary>
    public string CrnName { get; set; }

    /// <summary>
    /// 开始时间
    /// </summary>
    public DateTime StartTime { get; set; }

    /// <summary>
    /// 结束时间
    /// </summary>
    public DateTime EndTime { get; set; }
}

public class CrnOutWareHouseBeans
{
    /// <summary>
    /// 规格
    /// </summary>
    public string Spec { get; set; }

    /// <summary>
    /// 数量
    /// </summary>
    public int Count { get; set; }
}

public class WareHouseParm
{
    /// <summary>
    /// 开始时间
    /// </summary>
    public DateTime StartTime { get; set; }
    /// <summary>
    /// 结束时间
    /// </summary>
    public DateTime EndTime { get; set; }
}
public class WareHouseCountBean
{
    /// <summary>
    /// 开始时间
    /// </summary>
    public DateTime StartTime { get; set; }
    /// <summary>
    /// 结束时间
    /// </summary>
    public DateTime EndTime { get; set; }
    /// <summary>
    /// 设备名称
    /// </summary>
    public string EquipName { get; set; }
    /// <summary>
    /// 数量
    /// </summary>
    public int Count { get; set; }
}
public class WareHouseDetailBean
{
    /// <summary>
    /// 时间
    /// </summary>
    public DateTime CreateTime { get; set; }
    /// <summary>
    /// 设备名称
    /// </summary>
    public string EquipName { get; set; }
    /// <summary>
    /// 胎号
    /// </summary>
    public string BarCode { get; set; }
    /// <summary>
    /// 物料号
    /// </summary>
    public string MaterialCode { get; set; }
    /// <summary>
    /// 物料名称
    /// </summary>
    public string MaterialName { get; set; }
}

public class WareHouseTaskParm
{
    /// <summary>
    /// 开始时间
    /// </summary>
    public DateTime StartTime { get; set; }
    /// <summary>
    /// 结束时间
    /// </summary>
    public DateTime EndTime { get; set; }
    /// <summary>
    /// 规格
    /// </summary>
    public string Spec { get; set; }
    /// <summary>
    /// 硫化机Id
    /// </summary>
    public string EquipCurId { get; set; }

    /// <summary>
    /// 硫化机编号
    /// </summary>
    public string CuringCode { get; set; }
    /// <summary>
    /// 堆垛机
    /// </summary>
    public string EquipCrnId { get; set; }

    /// <summary>
    /// 堆垛机名称
    /// </summary>
    public string CrnName { get; set; }
}
public class WareHouseTaskBean
{
    /// <summary>
    /// 硫化机编号
    /// </summary>
    public string EquipCode { get; set; }
    /// <summary>
    /// 左右膜
    /// </summary>
    public string LeftRightFlag { get; set; }
    /// <summary>
    /// 规格
    /// </summary>
    public string Spec { get; set; }
    /// <summary>
    /// 数量
    /// </summary>
    public int Count { get; set; }
}

public class InWareHouseTaskListBean
{
    public List<WareHouseTaskBean> List = new List<WareHouseTaskBean>();
    public int Count { get; set; }
}
public class OutWareHouseTaskListBean
{
    public List<WareHouseTaskBean> List = new List<WareHouseTaskBean>();
    public int Count { get; set; }
}
public class OutWorkCount
{
    /// <summary>
    /// 规格
    /// </summary>
    public string Spec { get; set; }
    /// <summary>
    /// 数量
    /// </summary>
    public int Count { get; set; }

}

public class EquipCrnsByWarehouseId
{
    public string CrnName { get; set; }

    public long? Objid { get; set;}

    public int? TaskNoA { get; set; }

    public DateTime? CreateTimeA { get; set; }
    public int? TaskNoB { get; set; }

    public DateTime? CreateTimeB { get; set; }

    public int? StockCount { get; set; }

    public int? EmptyCount { get; set;}

    public string ShowColor { get; set; }

    public string ErrMsg { get; set;}

    public DateTime? ErrEndTime { get; set; }

    public int? InTaskCount { get; set; }

    public int? OutTaskCount { get; set;}

}
